package com.chenglu.android.mine.me.mvp.contract;

import com.chenglu.android.bean.SmsCodeBean;
import com.chenglu.android.common.base.BaseView;
import com.chenglu.android.mine.bean.ReturnStringBean;
import com.chenglu.android.mine.bean.UserInfoBean;
import com.chenglu.android.mine.bean.UserBalanceBean;


import io.reactivex.rxjava3.core.Observable;

/**
 * @author: lyj
 * @Created by Copyright 2023/3/2 Guangzhou Hongma Technology Co., Ltd. All rights reserved.
 *
 */
public interface MineContract {

    /**
     *
     * @description model
     *
     */

    public interface MineModel{

        Observable<UserInfoBean> getUserInfo(String token);

        Observable<UserBalanceBean> getUserBalance(String token);

        Observable<SmsCodeBean> getExitLogin(String token);

        Observable<ReturnStringBean> getPlatformPics();



    }


    /**
     *
     * @description view
     *
     */

    interface View extends BaseView {
        @Override
        void showLoading();

        @Override
        void dismissLoading();

        @Override
        void onEmpty(Object tag);

        void onNetWorkError(Object tag);

        @Override
        void onError(String errMessage);

        void onUserBalanceError(String errMessage);

        void getUserInfo(UserInfoBean bean);

        void getUserBalance(UserBalanceBean bean);

        void getExitLogin(SmsCodeBean bean);

        void getPlatformPics(ReturnStringBean bean);



    }

    /**
     *
     * @description presenter
     *
     */

    interface MinePresenter {


        void getUserInfo(String token);

        void getUserBalance(String token);

        void getExitLogin(String token);
        //平台资质
        void getPlatformPics();


    }
}